<?php

//necessaire pour utiliser la session
session_start();

//recuperation de l'action
$action = $_GET['action'];

//init triche
$_SESSION['triche'] = $_GET['triche'];

//traitement des differentes actions
//initialisation du jeu avec l'action commencer
if ($action == 'commencer') {
//fichier d'initialisation (session, valeurs de depart...)
    include 'initJeu.php';

    //Verifier qu'un mot a ete trouve dans la bdd au statut 1
    if ($_SESSION != null) {
//chaine de sortie à traiter coté client
        $triche = "";
        if ($_SESSION['triche'] == 1) {
            $triche = tricher();
        }
        echo "$session_id#" . $_SESSION['tour'] . "#commencer#" . $_SESSION['frcache'] . "#" . $_SESSION['encache'] . $triche;
    }
    // Aucun mot n'a ete trouve dans la bdd
    else
        echo 'error';
}
//lors du jeu
else if ($action == 'jouer') {

    //Recuperation du nombre d'erreur
    $nbErreur = $_GET['nbErreur'];

    //recuperer la session utilisateur
    $sId = $_GET['session'];

    //setter la session afin de conserver un utilisateur par session
    $sessionid = session_id($sId);

    //get lettre jouée
    $lettre = $_GET['lettre'];

    //fichier des traitements sql
    include '../fonctions_sql.php';

    //ajout de la chaine de triche
    $triche = "";
    if ($_SESSION['triche'] == 1) {
        $triche = tricher();
    }

    //traitement des mots a trouver
    $pendu = 1; // boolean d'erreur
    $tmp = $_SESSION['frcache']; // mot francais a trouver courant
    //recherche de la lettre jouée dans le mot cherché
    for ($i = 0; $i < strlen($_SESSION['fr']); $i++) {

        if ($lettre == strtoupper($_SESSION['fr'][$i])) {
            $tmp[$i] = $lettre;
            $pendu = 0;
        }
    }
    $_SESSION['frcache'] = $tmp;

    //idem que pour le mot francais
    $tmp = $_SESSION['encache'];
    for ($i = 0; $i < strlen($_SESSION['en']); $i++) {
        if ($lettre == strtoupper($_SESSION['en'][$i])) {
            $tmp[$i] = $lettre;
            $pendu = 0;
        }
    }
    $_SESSION['encache'] = $tmp;

    //traitment de l'erreur
    if ($pendu) {
        $_SESSION['erreur'] = 1;
    }

    //compte tour
    $_SESSION['tour'] = $_SESSION['tour'] + 1;

    // Si le nombre d'erreur etait 8 et que le joueur a fait une erreur, la partie est terminee
    if ($nbErreur == '8' && $pendu == 1) {
        
        $triche=tricher();
    }
       
        //chaine de réponse pour le client suivant le formalisme 0#eadbae54ee3093a290c913ed59de6f40#2#_______#_____#RUSTINE#PATCH
        $reponse = "$pendu#$sessionid#" . $_SESSION['tour'] . "#" . $_SESSION['frcache'] . "#" . $_SESSION['encache'] . "$triche";
  //  }

    //envoie de la reponse au client
    echo $reponse;
} else {
    echo 'erreur';
}

function tricher(){
    return "#" . strtoupper($_SESSION['fr']) . "#" . strtoupper($_SESSION['en']);
}
?>
